package singleton.source;

/**
 * 单例模式 -- 通过静态内部类
 * 静态内部类方式在Singleton类被装载时并不会立即实例化，而是在需要实例化时，
 * 调用getInstance方法，才会装载SingletonInstance类，从而完成Singleton的实例化。
 * @author cheng:
 * @date 2019/4/20 9:40
 */
public class StaticInnerSingleton {

    /**
     * 私有化构造方法
     */
    private StaticInnerSingleton() {}

    private static class SingletonInstance{
        private static final StaticInnerSingleton INSTANCE = new StaticInnerSingleton();
    }

    public static StaticInnerSingleton getInstance(){
        return SingletonInstance.INSTANCE;
    }
}
